package com.ajx.blog.service.api;

import com.ajx.blog.entity.Blogusers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

public interface BlogusersService extends IService<Blogusers> {

    /**
     * @param {Blogusers} blogusers 待注册用户
     * @return {boolean} 是否添加成功 true/false
     * 
     * @description: 用户注册
     */
    boolean insertOneUser(Blogusers blogusers);

    /**
     * @param {Integer} userId 用户ID
     * @return {boolean} 是否删除成功 true/false
     * 
     * @description: 根据用户ID删除一名用户
     */
    boolean deleteOneUserById(Integer userId);

    /**
     * @param {Integer} uid 博客用户ud
     * @return {boolean} 修改是否成功 true/false
     * 
     * @description: 修改博客用户状态
     */
    boolean changeUserState(Integer uid);

    /**
     * @param {Integer} page 当前页码数
     * @return {PageInfo<Blogusers>} 封装的分页信息对象
     * 
     * @description: 查询所有博客用户
     */
    PageInfo<Blogusers> selectAllUserByLimit(Integer page);

    /**
     * @param {Integer} bloguid 博客用户ID
     * @return {Blogusers} 对应的博客用户对象
     * 
     * @description: 通过ID查询博客用户
     */
    Blogusers selectBlogusers(Integer bloguid);

    /**
     * @param {String} uphone 用户手机号
     * @return {Blogusers} 对应的博客用户对象
     * 
     * @description: 通过手机号查询博客用户
     */
    Blogusers selectBlogusersByPhone(String uphone);

    /**
     * @param {*}
     * @return {Integer} 所有用户数量
     * 
     * @description: 查询所有用户数量
     */
    Integer selectBloguserCount();

}
